package isssr.dao.src;

import isssr.dao.exception.DAOException;
import isssr.entity.src.ComparisonOperator;
import isssr.entity.src.User;

import java.util.List;
import java.util.Map;

public interface UserDAO {

	public void insert(User user) throws DAOException;
	public void update(User user) throws DAOException;
	public void delete(User user) throws DAOException;
	public List<User> getAll() throws DAOException;
	public List<User> getAll(Map<String, Object> filters, Integer firstResult, Integer pageSize) throws DAOException;
	public List<User> getAllByLevel(User referenceUser, ComparisonOperator operator) throws DAOException;
	public List<User> getAllByLevel(User referenceUser, ComparisonOperator operator, Map<String, Object> filters, Integer firstResult, Integer pageSize) throws DAOException;
	public User getByAuth(String username, String password) throws DAOException;
	
	
}
